package com.zkjl.protect_business.service;

import com.zkjl.protect_business.dto.PageBaseDTO;
import com.zkjl.protect_business.dto.PageDTO;
import com.zkjl.protect_business.dto.SortDTO;
import com.zkjl.protect_business.dto.TemplateDTO;
import com.zkjl.protect_business.entity.Template;
import org.springframework.data.domain.PageImpl;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

/**
 * 模板服务类
 */
public interface TemplateService {


    /**
     * 上传模板
     *
     * @param file
     * @return
     */
    Template upload(MultipartFile file, String businessId) throws IOException;



    /**
     * 修改模板
     * @param id
     * @param templateDTO
     * @return
     */
    Template update(String id, TemplateDTO templateDTO);


    /**
     * 保存模板
     * @param templateDTO
     * @return
     */
    Template save(TemplateDTO templateDTO);


    /**
     * 获取业务分类下面的所有模板
     * @param businessId
     * @return
     */
    List<Template> list(String businessId);

    /**
     * 模板分页
     * @param pageBaseDTO
     * @param sortDTO
     * @param type
     * @param businessId
     * @return
     */
    PageImpl page(PageBaseDTO pageBaseDTO, SortDTO sortDTO, String type, String businessId);


    /**
     * 获取模板信息
     * @param templateId
     * @return
     */
    Template get(String templateId);


    /**
     * 删除模板
     * @param id
     * @return
     */
    Boolean del(String id);



}
